package com.pond.pond.service;

import java.util.List;

import com.pond.pond.domain.DeptFacilityRelation;
import com.pond.pond.domain.Pond;
import com.pond.pond.domain.PondComment;
import com.pond.pond.domain.dto.PondDTO;
import com.pond.pond.domain.dto.PondFacilityDTO;
import com.pond.pond.domain.vo.PondCommentVo;
import com.pond.pond.domain.vo.PondNameOptionsVo;

/**
 * 鱼塘管理Service接口
 * 
 * @author ruoyi
 * &#064;date  2025-05-13
 */
public interface IPondService 
{
    /**
     * 查询鱼塘管理
     * 
     * @param id 鱼塘管理主键
     * @return 鱼塘管理
     */
    Pond selectPondById(Long id);

    /**
     * 查询鱼塘管理列表
     * 
     * @param pond 鱼塘管理
     * @return 鱼塘管理集合
     */
    List<Pond> selectPondList(Pond pond);

    /**
     * 查询鱼塘名称列表
     *
     * @return 鱼塘名称列表
     */
    List<PondNameOptionsVo> selectPondOptionList();

    /**
     * 新增鱼塘管理
     * 
     * @param pond 鱼塘管理
     * @return 结果
     */
    int insertPond(PondDTO pond);

    /**
     * 修改鱼塘管理
     * 
     * @param pond 鱼塘管理
     * @return 结果
     */
    int updatePond(PondDTO pond);

    /**
     * 批量删除鱼塘管理
     * 
     * @param ids 需要删除的鱼塘管理主键集合
     * @return 结果
     */
    int deletePondByIds(Long[] ids);


    /**
     * 修改鱼塘背景图
     *
     * @param pondId 修改的鱼塘id
     * @param backgroundUrl 背景图url
     * @return 结果
     */
    int updatePondBackground(Long pondId, String backgroundUrl);


    int addCommentPond(PondComment pondComment);

    List<PondCommentVo> getCommentPond();
    List<PondCommentVo> getCommentPondByDeptId(Long deptId);

    int deleteCommentPondByIds(Long[] ids);

    int updateCommentPond(PondCommentVo pondCommentVo);

    int addFacility(PondFacilityDTO pondFacilityDTO);

    List<DeptFacilityRelation> getFacility(Long deptId);
}
